package pers.whj.rpc.transport;

import pers.whj.rpc.protocol.Address;

/**
 * 客户端通信接口
 */
public interface TransportClient {
    /**
     * 连接服务器
     *
     * @param address 地址
     * @throws Exception 异常
     */
    void connect(Address address) throws Exception;

    /**
     * 发出请求，并接收返回值
     *
     * @param data 发送数据
     * @return 接收数据
     * @throws Exception 异常
     */
    byte[] write(byte[] data) throws Exception;

    /**
     * 主动断开连接
     */
    void close();
}
